package com.qiguliuxing.dts.core.annotation.aoplog;

import java.lang.annotation.*;

/**
 *  日志注解定义 <br>
 * ①：@Retention什么时候使用该注解，我们定义为运行时 RUNTIME；<br>
 * ②：@Target 注解用于什么地方，我们定义为作用于方法 METHOD上；<br>
 * ③：@Documented 注解是否将包含在 JavaDoc 中；<br>
 * ④：注解名为 WebLog;<br>
 * @author qiguliuxing
 * @since 1.0.0
 */
@Documented
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface WebLog {

    /**
     * 定义一个字符数组
     *  将不需要打印的参数放入该注解属性，参数请参考Params接口类定义
     * @return
     */
    String[] excludes() default {};

    /**
     * 日志描述信息
     * 定义一个属性，用于描述是什么日志，默认为空字符串；
     * @return
     */
    String description() default "";

    /**
     * 定义日志是否需要持久化，建议app或小程序端勿配置该参数。
     *  默认false 表示不持久化，true表示需要持久化（暂入库）
     * @return
     */
    boolean persistence() default false;
}
